﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using EstacionDePoder.Codigo;
using BLLEP.Funcionalidad;
using BLLEP;

namespace EstacionDePoder.Tienda
{
    public partial class PagarTarjeta : FormGenerico
    {
        private void ConfigurarCosas()
        {
            for (int i = DateTime.Now.Year; i < (DateTime.Now.Year + 100); i++)
                ddlAñoVencimiento.Items.Add(i.ToString());
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                ConfigurarCosas();
                SetearVisibilidad(pnlErrorTarjeta, false);
            }
        }

        protected void btnSiguiente_Click(object sender, EventArgs e)
        {
            BLLTarjeta bllTarjeta = new BLLTarjeta();

            if (!bllTarjeta.Existe(txtNroTarjeta.Text))
            {
                EP_Tarjeta nuevaTarjeta = new EP_Tarjeta();
                nuevaTarjeta.Apellidos = txtApellido.Text;
                nuevaTarjeta.AñoVencimiento = int.Parse(ddlAñoVencimiento.SelectedValue);
                nuevaTarjeta.Calle = txtCalle.Text;
                nuevaTarjeta.Codigo = txtCodigoValidacion.Text;
                nuevaTarjeta.CodigoPostal = txtCodigoPostal.Text;
                nuevaTarjeta.EP_EmpresaTarjeta = new BLLEmpresaTarjeta(bllTarjeta.Contexto).Traer(int.Parse(ddlEmpresas.SelectedValue));
                nuevaTarjeta.EP_Pai = new BLLPais(bllTarjeta.Contexto).Traer(int.Parse(ddlPaises.SelectedValue));
                nuevaTarjeta.EsResidente = chkResidencia.Checked;
                nuevaTarjeta.MesVencimiento = int.Parse(ddlMesVencimiento.SelectedValue);
                nuevaTarjeta.Nombres = txtNombres.Text;
                nuevaTarjeta.NroCalle = txtNroCalle.Text;
                nuevaTarjeta.Numero = txtNroTarjeta.Text;

                bllTarjeta.CargarTarjeta(nuevaTarjeta);
                bllTarjeta.GuardarCambios();
            }

            Random ran = new Random();
            int segundos = ran.Next(0, 10);

            System.Threading.Thread.Sleep(segundos * 1000);
            SetearVisibilidad(pnlErrorTarjeta, true);
        }
    }
}